package com.elai.overview.domain;

import java.util.Date;
import java.util.List;

import com.elai.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.elai.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 我的书签对象 my_overview_book_mark
 * 
 * @author elai
 * @date 2021-09-19
 */
public class MyOverviewBookMark extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 用户ID */
    private Long userId;

    /** 组件名称 */
    @Excel(name = "组件名称")
    private String componentName;

    /** 分析类型 */
    @Excel(name = "分析类型")
    private String analyticsType;

    /** 统计开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date queryStartTime;

    /** 统计结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "统计结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date queryEndTime;

    /** 查询参数 */
    private String queryRule;

    /** 排序 */
    private Long sortNo;

    /** 参数1 */
    private String paramField1;

    /** 参数2 */
    private String paramField2;


    private List<MyOverviewPageMarkRela> pageRelaList;

    public List<MyOverviewPageMarkRela> getPageRelaList() {
        return pageRelaList;
    }

    public void setPageRelaList(List<MyOverviewPageMarkRela> pageRelaList) {
        this.pageRelaList = pageRelaList;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setComponentName(String componentName) 
    {
        this.componentName = componentName;
    }

    public String getComponentName() 
    {
        return componentName;
    }
    public void setAnalyticsType(String analyticsType) 
    {
        this.analyticsType = analyticsType;
    }

    public String getAnalyticsType() 
    {
        return analyticsType;
    }
    public void setQueryStartTime(Date queryStartTime) 
    {
        this.queryStartTime = queryStartTime;
    }

    public Date getQueryStartTime() 
    {
        return queryStartTime;
    }
    public void setQueryEndTime(Date queryEndTime) 
    {
        this.queryEndTime = queryEndTime;
    }

    public Date getQueryEndTime() 
    {
        return queryEndTime;
    }
    public void setQueryRule(String queryRule) 
    {
        this.queryRule = queryRule;
    }

    public String getQueryRule() 
    {
        return queryRule;
    }
    public void setSortNo(Long sortNo) 
    {
        this.sortNo = sortNo;
    }

    public Long getSortNo() 
    {
        return sortNo;
    }
    public void setParamField1(String paramField1) 
    {
        this.paramField1 = paramField1;
    }

    public String getParamField1() 
    {
        return paramField1;
    }
    public void setParamField2(String paramField2) 
    {
        this.paramField2 = paramField2;
    }

    public String getParamField2() 
    {
        return paramField2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("componentName", getComponentName())
            .append("analyticsType", getAnalyticsType())
            .append("remark", getRemark())
            .append("queryStartTime", getQueryStartTime())
            .append("queryEndTime", getQueryEndTime())
            .append("queryRule", getQueryRule())
            .append("sortNo", getSortNo())
            .append("paramField1", getParamField1())
            .append("paramField2", getParamField2())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .toString();
    }
}
